home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Source Code / Visual Basic Source Code.iso / vbsource / dattim / datetime.frm < prev    next >
Text File  |  1995-05-08  |  4KB  |  129 lines

  1. VERSION 2.00
  2. Begin Form Form1 
  3.    BackColor       =   &H00C0C0C0&
  4.    Caption         =   "Date/Time Example"
  5.    ClientHeight    =   5580
  6.    ClientLeft      =   870
  7.    ClientTop       =   1530
  8.    ClientWidth     =   4680
  9.    Height          =   5985
  10.    Left            =   810
  11.    LinkMode        =   1  'Source
  12.    LinkTopic       =   "Form1"
  13.    ScaleHeight     =   5580
  14.    ScaleWidth      =   4680
  15.    Top             =   1185
  16.    Width           =   4800
  17.    Begin DirListBox Dir1 
  18.       Height          =   4152
  19.       Left            =   432
  20.       TabIndex        =   2
  21.       Top             =   1296
  22.       Width           =   1956
  23.    End
  24.    Begin FileListBox File1 
  25.       Height          =   4320
  26.       Left            =   2556
  27.       TabIndex        =   3
  28.       Top             =   1008
  29.       Width           =   1770
  30.    End
  31.    Begin DriveListBox Drive1 
  32.       Height          =   288
  33.       Left            =   432
  34.       TabIndex        =   1
  35.       Top             =   1008
  36.       Width           =   1956
  37.    End
  38.    Begin PictureBox pic1 
  39.       Height          =   552
  40.       Left            =   432
  41.       ScaleHeight     =   525
  42.       ScaleWidth      =   3870
  43.       TabIndex        =   0
  44.       Top             =   108
  45.       Width           =   3900
  46.    End
  47.    Begin Label Label1 
  48.       Alignment       =   2  'Center
  49.       BackColor       =   &H00C0C0C0&
  50.       Caption         =   "Double Click a file to display it's date/time"
  51.       ForeColor       =   &H00000080&
  52.       Height          =   228
  53.       Left            =   252
  54.       TabIndex        =   4
  55.       Top             =   720
  56.       Width           =   4332
  57.    End
  58. End
  59. DefInt A-Z
  60.  
  61. Sub Dir1_Change ()
  62.     pic1.Cls
  63.     file1.path = dir1.path
  64. End Sub
  65.  
  66. Sub Drive1_Change ()
  67.     pic1.Cls
  68.     x = drive1.listindex
  69.     drive$ = RTrim$(drive1.list(x))
  70.     dir1.path = drive$
  71.     file1.path = drive$
  72. End Sub
  73.  
  74. Sub File1_DblClick ()
  75. '================================================================
  76. ' Double clicking on the file list box will display the files
  77. ' full path, name, date, time and size in the pic1 control
  78. '================================================================
  79.     
  80.     x = file1.listindex
  81.     file$ = file1.path
  82.     
  83.     '=== setup the full path to the desired file
  84.     If Right$(file$, 1) = "\" Then
  85.         file$ = file$ + RTrim$(file1.list(x))
  86.     Else
  87.         file$ = file$ + "\" + RTrim$(file1.list(x))
  88.     End If
  89.  
  90.     '=== setup an OFSTRUCT data structure
  91.     Dim a As OFSTRUCT
  92.  
  93.     '=== call the OpenFile api call to get needed data
  94.     x = OpenFile(file$, a, OF_EXIST)
  95.  
  96.     '=== construct the date/time stamp
  97.     fmonth = ((a.r1 And &H7FFF) \ 32) And &HF
  98.     fday = a.r1 And &H1F
  99.     fyear = (a.r1 And &H7FFF) \ 512 + 80
  100.     fhour = (a.r2 And &H7FFF) \ 2048
  101.     ampm$ = "am"
  102.     If a.r2 < 0 Then
  103.         fhour = (fhour + 16) - 12
  104.         ampm$ = "pm"
  105.     End If
  106.     If fhour >= 12 Then
  107.         If fhour > 12 Then fhour = fhour - 12
  108.         ampm$ = "pm"
  109.     ElseIf fhour = 0 Then
  110.         fhour = 12
  111.         ampm$ = "am"
  112.     End If
  113.     fminute = ((a.r2 And &H7FFF) \ 32) And &H3F
  114.     fsecond = (a.r2 And &H1F) * 2
  115.         
  116.     '=== get the file size
  117.     Open file$ For Binary As #1
  118.     y& = LOF(1)
  119.     Close
  120.         
  121.     '=== display the data in pic1
  122.     pic1.Cls
  123.     pic1.Print file$
  124.     pic1.Print Format$(fmonth, "0#"); "/"; Format$(fday, "0#"); "/"; Format$(fyear, "0#"); "   "; Format$(fhour, "00"); ":"; Format$(fminute, "00"); ":"; Format$(fsecond, "00"); " "; ampm$;
  125.     pic1.Print "  "; Format$(y&, "##,###,###"); " bytes"
  126.  
  127. End Sub
  128.  
  129.